//
//
//  Generated by StarUML(tm) C++ Add-In
//
//  @ Project : OOAD5T
//  @ File Name : SensorController.h
//  @ Date : 2026-05-03
//  @ Author : 
//
//


#if !defined(_SENSORCONTROLLER_H)
#define _SENSORCONTROLLER_H

#include "SensorProvider.h"
#include "IPower.h"
#include "EventBus.h"
#include "ISensor.h"

class SensorController : public SensorProvider, public IPower {
public:
	SensorController(EventBus* bus, ISensor* leftSensor, ISensor* rightSensor, ISensor* dustSensor);
	void turnOn();
	void turnOff() override;
	void FrontObstacleDetected();
	bool getLeftState() override;
	bool getRightState() override;
	void ChecknPowerUp();
	bool getIsTurnOn();
	void doDustCheck();
	void stopDustCheck();


private:
	EventBus* bus;
	bool isTurnOn;
	bool doCheck;
	ISensor* leftSensor;
	ISensor* rightSensor;
	ISensor* dustSensor;
};

#endif  //_SENSORCONTROLLER_H
